Model Checking of CTL-Extended OCL Specifications
نویسندگان
چکیده
In software modeling, the Object Constraint Language (OCL) is an important language to specify properties that a model has to satisfy. The design of OCL reflects the structure of MOF-based modeling languages like UML and its tight integration results in an intuitive usability. But OCL allows to express properties only in the context of a single instance model and not with respect to a sequence of instance models that capture the execution of the system. In this paper, we show how OCL can be extended with CTL-based temporal operators to express properties over the lifetime of an instance model. We formally introduce syntax and semantics of our OCL extension cOCL. The properties specified with our OCL extension can be verified with our explicit state space model checking framework, called MocOCL. In a case study, we illustrate the expressiveness and usability of our approach and evaluate the performance of our implementation.
منابع مشابه
OCL meets CTL: Towards CTL-Extended OCL Model Checking
In software modeling, the Object Constraint Language (OCL) is an important tool to specify properties that a model has to satisfy. The design of OCL reflects the structure of MOF-based modeling languages like UML and the tight integration results in an intuitive usability. However, OCL allows to express properties in the context of the current state of an instance model only but not with respec...
متن کاملMocOCL: A Model Checker for CTL-Extended OCL Specifications
We present the model checker MocOCL, a tool for model checking software models. The design rationale behind MocOCL is to close the gap between formal verification based on model checking and model-based engineering. Our approach avoids conversions that translate the software models into a format that a model checker can process. To this end, we implemented an explicit state model checker that d...
متن کاملTowards model checking OCL
This paper presents a logic, called BOTL (Object-Based Temporal Logic), that facilitates the specification of dynamic and static properties of object-based systems. The logic is based on the branching temporal logic CTL and the Object Constraint Language (OCL). Eventually, the aim is to do model checking. The formal semantics of BOTL is defined in terms of a general operational model that is ai...
متن کاملOn the Complexity of Branching Modular Model Checking (Extended Abstract)
In modular verification the specification of a module consists of two parts. One part describes the guaranteed behavior of the module. The other part describes the assumed behavior of the system in which the module is interacting. This is called the assume-guarantee paradigm. In this paper we consider assume-guarantee specifications in which the assumptions and the guarantees are specified by u...
متن کاملCTL and Equivalent Sublanguages of CTL
Specifications of finite state algorithms with a complex temporal behavior such as protocols or hardware systems are often given in temporal logics as e.g. CTL or CTL . On the one hand, CTL offers in comparison to CTL efficient model checking algorithms, but on the other hand, CTL seems to suffer from a limited expressiveness. In this paper, it is shown that the limitations one feels when using...
متن کامل